1. Field of the Invention
The present invention relates generally to network of distributed computer systems, and more particularly, to methods and systems for improving the detection of conflicts resulting from data sharing in a network of distributed computer systems.
2. Description of the Related Art
As computers play a more and more significant role in our daily lives, users have been placing a greater emphasis in selecting software applications and computer system which would best serve the users' requirements. One of such widespread computer system designs is the network of distributed computer systems in which data is transferred between multiple clients (e.g., users) and servers in real time. Typically, the client makes a service request from the server program, which in turn fulfills the service request by providing the client with the service. The server is capable of providing services to a plurality of clients simultaneously as well as retrieving and storing data into a database. The network of the clients and server employs different software applications to enhance the performance of these tasks.
One of such software applications is the Enterprise JavaBeans (EJB) developed by Sun Microsystems, Inc. of Palo Alto, Calif. As is well known in the art, EJB implements usable components (i.e., EJB beans) which can be accessed by a plurality of clients using an application server. FIG. 1 is an illustration of a simplified EJB architecture 100, in accordance with the prior art. As shown in the EJB architecture 100 an application server 104 receives and processes a plurality of requests dispatched by a plurality of clients 106a-106b using data stored in a database 102. As shown, the database 102 includes a plurality of rows 102a-102b, each storing data for a corresponding EJB bean 108a and EJB bean 108b. For instance, the row 102a includes a plurality of methods Ma-Mc corresponding to the methods Ma-Mc of the EJB bean 108a. In a like manner, the row 102b includes a plurality of methods Md-Mh, corresponding to the methods Md-Mh of the EJB2 108b. In this manner, methods Ma-Mc of the EJB bean 108a and methods Md-Mh of the EJB bean 108b can be accessed and shared by multiple clients 106a-106b in real time using the application server 104.
Although beneficial, sharing data of different EJB beans 108a-108b by the first and second client 106a-106b in real time can create resource sharing conflicts. As a major shortcoming, resource sharing conflicts result from the first client 106a modifying the method Mb of EJB bean 108a. Specifically, the first client 106a can modify the method Ma without considering the negative ramification on the second client 106b who is simultaneously using the method Mb, as received in its original state. This conflict can further be exacerbated by both clients 106a and 106b modifying the method Ma from its original state without informing the other client of such modifications. Implementing inconsistent, conflicting, or stale methods is disfavored as it endangers the integrity of data shared by the network of computer systems.
Furthermore, where there is a need to update or modify the EJB bean 108, the clients 106a-106b must be informed individually and manually of the necessity to make any modifications. That is, the clients must be given ample time to close their respective instances of the EJB beans in use prior to any updating. Thereafter, the clients must recompile the EJB beans prior to reusing the EJB bean. Simply stated, modifying or updating the EJB beans cause unnecessary system downtime.
In view of the foregoing, there is a need for a methodology and system for minimizing resource sharing conflicts using an improved detection mechanism. There is also a need to for a methodology and system for minimizing downtime during data updating.